/**********************************************************************/
/*   ____  ____                                                       */
/*  /   /\/   /                                                       */
/* /___/  \  /                                                        */
/* \   \   \/                                                       */
/*  \   \        Copyright (c) 2003-2009 Xilinx, Inc.                */
/*  /   /          All Right Reserved.                                 */
/* /---/   /\                                                         */
/* \   \  /  \                                                      */
/*  \___\/\___\                                                    */
/***********************************************************************/

/* This file is designed for use with ISim build 0xfbc00daa */

#define XSI_HIDE_SYMBOL_SPEC true
#include "xsi.h"
#include <memory.h>
#ifdef __GNUC__
#include <stdlib.h>
#else
#include <malloc.h>
#define alloca _alloca
#endif
static const char *ng0 = "pixel_data = %d , pixel_data [3:0] = %b";
static const char *ng1 = "ext_tmds = %b, ext_tmds = %b, hmd_tmds = %b, hmd_tmdsb = %b";
static const char *ng2 = "/home/choosegoose/code/predator-vision/integration_tb.v";
static int ng3[] = {0, 0};
static unsigned int ng4[] = {1U, 0U};
static unsigned int ng5[] = {0U, 0U};
static unsigned int ng6[] = {111U, 0U};
static unsigned int ng7[] = {142U, 0U};

void Monitor_88_3(char *);
void Monitor_89_4(char *);
void Monitor_91_5(char *);
void Monitor_92_6(char *);
void Monitor_88_3(char *);
void Monitor_89_4(char *);
void Monitor_91_5(char *);
void Monitor_92_6(char *);


static void Monitor_88_3_Func(char *t0)
{
    char t4[8];
    char *t1;
    char *t2;
    char *t3;
    char *t5;
    char *t6;
    char *t7;
    char *t8;
    char *t9;
    unsigned int t10;
    unsigned int t11;
    unsigned int t12;
    unsigned int t13;
    unsigned int t14;
    unsigned int t15;

LAB0:    t1 = (t0 + 3368);
    t2 = (t1 + 56U);
    t3 = *((char **)t2);
    t5 = (t0 + 3368);
    t6 = (t5 + 56U);
    t7 = *((char **)t6);
    memset(t4, 0, 8);
    t8 = (t4 + 4);
    t9 = (t7 + 4);
    t10 = *((unsigned int *)t7);
    t11 = (t10 >> 0);
    *((unsigned int *)t4) = t11;
    t12 = *((unsigned int *)t9);
    t13 = (t12 >> 0);
    *((unsigned int *)t8) = t13;
    t14 = *((unsigned int *)t4);
    *((unsigned int *)t4) = (t14 & 15U);
    t15 = *((unsigned int *)t8);
    *((unsigned int *)t8) = (t15 & 15U);
    xsi_vlogfile_write(1, 0, 3, ng0, 3, t0, (char)118, t3, 8, (char)118, t4, 4);

LAB1:    return;
}

static void Monitor_89_4_Func(char *t0)
{
    char *t1;
    char *t2;
    char *t3;
    char *t4;
    char *t5;

LAB0:    t1 = (t0 + 1208U);
    t2 = *((char **)t1);
    t1 = (t0 + 1368U);
    t3 = *((char **)t1);
    t1 = (t0 + 1528U);
    t4 = *((char **)t1);
    t1 = (t0 + 1688U);
    t5 = *((char **)t1);
    xsi_vlogfile_write(1, 0, 3, ng1, 5, t0, (char)118, t2, 5, (char)118, t3, 5, (char)118, t4, 5, (char)118, t5, 5);

LAB1:    return;
}

static void Monitor_91_5_Func(char *t0)
{
    char t4[8];
    char *t1;
    char *t2;
    char *t3;
    char *t5;
    char *t6;
    char *t7;
    char *t8;
    char *t9;
    unsigned int t10;
    unsigned int t11;
    unsigned int t12;
    unsigned int t13;
    unsigned int t14;
    unsigned int t15;

LAB0:    t1 = (t0 + 3368);
    t2 = (t1 + 56U);
    t3 = *((char **)t2);
    t5 = (t0 + 3368);
    t6 = (t5 + 56U);
    t7 = *((char **)t6);
    memset(t4, 0, 8);
    t8 = (t4 + 4);
    t9 = (t7 + 4);
    t10 = *((unsigned int *)t7);
    t11 = (t10 >> 0);
    *((unsigned int *)t4) = t11;
    t12 = *((unsigned int *)t9);
    t13 = (t12 >> 0);
    *((unsigned int *)t8) = t13;
    t14 = *((unsigned int *)t4);
    *((unsigned int *)t4) = (t14 & 15U);
    t15 = *((unsigned int *)t8);
    *((unsigned int *)t8) = (t15 & 15U);
    xsi_vlogfile_write(1, 0, 3, ng0, 3, t0, (char)118, t3, 8, (char)118, t4, 4);

LAB1:    return;
}

static void Monitor_92_6_Func(char *t0)
{
    char *t1;
    char *t2;
    char *t3;
    char *t4;
    char *t5;

LAB0:    t1 = (t0 + 1208U);
    t2 = *((char **)t1);
    t1 = (t0 + 1368U);
    t3 = *((char **)t1);
    t1 = (t0 + 1528U);
    t4 = *((char **)t1);
    t1 = (t0 + 1688U);
    t5 = *((char **)t1);
    xsi_vlogfile_write(1, 0, 3, ng1, 5, t0, (char)118, t2, 5, (char)118, t3, 5, (char)118, t4, 5, (char)118, t5, 5);

LAB1:    return;
}

static void Initial_63_0(char *t0)
{
    char *t1;
    char *t2;
    char *t3;

LAB0:    t1 = (t0 + 4280U);
    t2 = *((char **)t1);
    if (t2 == 0)
        goto LAB2;

LAB3:    goto *t2;

LAB2:    xsi_set_current_line(63, ng2);

LAB4:    xsi_set_current_line(65, ng2);
    t2 = ((char*)((ng3)));
    t3 = (t0 + 2568);
    xsi_vlogvar_assign_value(t3, t2, 0, 0, 1);
    xsi_set_current_line(66, ng2);
    t2 = ((char*)((ng3)));
    t3 = (t0 + 2728);
    xsi_vlogvar_assign_value(t3, t2, 0, 0, 1);
    xsi_set_current_line(67, ng2);
    t2 = ((char*)((ng4)));
    t3 = (t0 + 2888);
    xsi_vlogvar_assign_value(t3, t2, 0, 0, 1);
    xsi_set_current_line(68, ng2);
    t2 = ((char*)((ng4)));
    t3 = (t0 + 3048);
    xsi_vlogvar_assign_value(t3, t2, 0, 0, 1);
    xsi_set_current_line(69, ng2);
    t2 = ((char*)((ng5)));
    t3 = (t0 + 3368);
    xsi_vlogvar_assign_value(t3, t2, 0, 0, 8);
    xsi_set_current_line(70, ng2);
    t2 = ((char*)((ng4)));
    t3 = (t0 + 3208);
    xsi_vlogvar_assign_value(t3, t2, 0, 0, 3);
    xsi_set_current_line(73, ng2);
    t2 = (t0 + 4088);
    xsi_process_wait(t2, 100000LL);
    *((char **)t1) = &&LAB5;

LAB1:    return;
LAB5:    goto LAB1;

}

static void Always_80_1(char *t0)
{
    char t3[8];
    char *t1;
    char *t2;
    char *t4;
    char *t5;
    char *t6;
    char *t7;
    unsigned int t8;
    unsigned int t9;
    unsigned int t10;
    unsigned int t11;
    unsigned int t12;
    char *t13;
    char *t14;
    char *t15;
    unsigned int t16;
    unsigned int t17;
    unsigned int t18;
    unsigned int t19;
    unsigned int t20;
    unsigned int t21;
    unsigned int t22;
    unsigned int t23;
    char *t24;

LAB0:    t1 = (t0 + 4528U);
    t2 = *((char **)t1);
    if (t2 == 0)
        goto LAB2;

LAB3:    goto *t2;

LAB2:    xsi_set_current_line(80, ng2);

LAB4:    xsi_set_current_line(82, ng2);
    t2 = (t0 + 4336);
    xsi_process_wait(t2, 5000LL);
    *((char **)t1) = &&LAB5;

LAB1:    return;
LAB5:    xsi_set_current_line(82, ng2);
    t4 = (t0 + 2568);
    t5 = (t4 + 56U);
    t6 = *((char **)t5);
    memset(t3, 0, 8);
    t7 = (t6 + 4);
    t8 = *((unsigned int *)t7);
    t9 = (~(t8));
    t10 = *((unsigned int *)t6);
    t11 = (t10 & t9);
    t12 = (t11 & 1U);
    if (t12 != 0)
        goto LAB9;

LAB7:    if (*((unsigned int *)t7) == 0)
        goto LAB6;

LAB8:    t13 = (t3 + 4);
    *((unsigned int *)t3) = 1;
    *((unsigned int *)t13) = 1;

LAB9:    t14 = (t3 + 4);
    t15 = (t6 + 4);
    t16 = *((unsigned int *)t6);
    t17 = (~(t16));
    *((unsigned int *)t3) = t17;
    *((unsigned int *)t14) = 0;
    if (*((unsigned int *)t15) != 0)
        goto LAB11;

LAB10:    t22 = *((unsigned int *)t3);
    *((unsigned int *)t3) = (t22 & 1U);
    t23 = *((unsigned int *)t14);
    *((unsigned int *)t14) = (t23 & 1U);
    t24 = (t0 + 2568);
    xsi_vlogvar_assign_value(t24, t3, 0, 0, 1);
    xsi_set_current_line(83, ng2);
    t2 = (t0 + 4336);
    xsi_process_wait(t2, 5000LL);
    *((char **)t1) = &&LAB12;
    goto LAB1;

LAB6:    *((unsigned int *)t3) = 1;
    goto LAB9;

LAB11:    t18 = *((unsigned int *)t3);
    t19 = *((unsigned int *)t15);
    *((unsigned int *)t3) = (t18 | t19);
    t20 = *((unsigned int *)t14);
    t21 = *((unsigned int *)t15);
    *((unsigned int *)t14) = (t20 | t21);
    goto LAB10;

LAB12:    xsi_set_current_line(83, ng2);
    t4 = (t0 + 2728);
    t5 = (t4 + 56U);
    t6 = *((char **)t5);
    memset(t3, 0, 8);
    t7 = (t6 + 4);
    t8 = *((unsigned int *)t7);
    t9 = (~(t8));
    t10 = *((unsigned int *)t6);
    t11 = (t10 & t9);
    t12 = (t11 & 1U);
    if (t12 != 0)
        goto LAB16;

LAB14:    if (*((unsigned int *)t7) == 0)
        goto LAB13;

LAB15:    t13 = (t3 + 4);
    *((unsigned int *)t3) = 1;
    *((unsigned int *)t13) = 1;

LAB16:    t14 = (t3 + 4);
    t15 = (t6 + 4);
    t16 = *((unsigned int *)t6);
    t17 = (~(t16));
    *((unsigned int *)t3) = t17;
    *((unsigned int *)t14) = 0;
    if (*((unsigned int *)t15) != 0)
        goto LAB18;

LAB17:    t22 = *((unsigned int *)t3);
    *((unsigned int *)t3) = (t22 & 1U);
    t23 = *((unsigned int *)t14);
    *((unsigned int *)t14) = (t23 & 1U);
    t24 = (t0 + 2728);
    xsi_vlogvar_assign_value(t24, t3, 0, 0, 1);
    goto LAB2;

LAB13:    *((unsigned int *)t3) = 1;
    goto LAB16;

LAB18:    t18 = *((unsigned int *)t3);
    t19 = *((unsigned int *)t15);
    *((unsigned int *)t3) = (t18 | t19);
    t20 = *((unsigned int *)t14);
    t21 = *((unsigned int *)t15);
    *((unsigned int *)t14) = (t20 | t21);
    goto LAB17;

}

static void Initial_86_2(char *t0)
{
    char *t1;
    char *t2;
    char *t3;
    char *t4;

LAB0:    t1 = (t0 + 4776U);
    t2 = *((char **)t1);
    if (t2 == 0)
        goto LAB2;

LAB3:    goto *t2;

LAB2:    xsi_set_current_line(86, ng2);

LAB4:    xsi_set_current_line(87, ng2);
    t2 = ((char*)((ng6)));
    t3 = (t0 + 3368);
    xsi_vlogvar_wait_assign_value(t3, t2, 0, 0, 8, 0LL);
    xsi_set_current_line(88, ng2);
    Monitor_88_3(t0);
    xsi_set_current_line(89, ng2);
    Monitor_89_4(t0);
    xsi_set_current_line(90, ng2);
    t2 = (t0 + 4584);
    xsi_process_wait(t2, 14000LL);
    *((char **)t1) = &&LAB5;

LAB1:    return;
LAB5:    xsi_set_current_line(90, ng2);
    t3 = ((char*)((ng7)));
    t4 = (t0 + 3368);
    xsi_vlogvar_wait_assign_value(t4, t3, 0, 0, 8, 0LL);
    xsi_set_current_line(91, ng2);
    Monitor_91_5(t0);
    xsi_set_current_line(92, ng2);
    Monitor_92_6(t0);
    xsi_set_current_line(93, ng2);
    t2 = (t0 + 4584);
    xsi_process_wait(t2, 10000LL);
    *((char **)t1) = &&LAB6;
    goto LAB1;

LAB6:    xsi_set_current_line(93, ng2);
    xsi_vlog_finish(1);
    goto LAB1;

}

void Monitor_88_3(char *t0)
{
    char *t1;
    char *t2;

LAB0:    t1 = (t0 + 4832);
    t2 = (t0 + 6088);
    xsi_vlogfile_monitor((void *)Monitor_88_3_Func, t1, t2);

LAB1:    return;
}

void Monitor_89_4(char *t0)
{
    char *t1;
    char *t2;

LAB0:    t1 = (t0 + 5080);
    t2 = (t0 + 6104);
    xsi_vlogfile_monitor((void *)Monitor_89_4_Func, t1, t2);

LAB1:    return;
}

void Monitor_91_5(char *t0)
{
    char *t1;
    char *t2;

LAB0:    t1 = (t0 + 5328);
    t2 = (t0 + 6120);
    xsi_vlogfile_monitor((void *)Monitor_91_5_Func, t1, t2);

LAB1:    return;
}

void Monitor_92_6(char *t0)
{
    char *t1;
    char *t2;

LAB0:    t1 = (t0 + 5576);
    t2 = (t0 + 6136);
    xsi_vlogfile_monitor((void *)Monitor_92_6_Func, t1, t2);

LAB1:    return;
}


extern void work_m_12575972203376014096_2460825732_init()
{
	static char *pe[] = {(void *)Initial_63_0,(void *)Always_80_1,(void *)Initial_86_2,(void *)Monitor_88_3,(void *)Monitor_89_4,(void *)Monitor_91_5,(void *)Monitor_92_6};
	xsi_register_didat("work_m_12575972203376014096_2460825732", "isim/integration_tb_isim_beh.exe.sim/work/m_12575972203376014096_2460825732.didat");
	xsi_register_executes(pe);
}
